home *** CD-ROM | disk | FTP | other *** search
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of shell archive."
- # Contents: Bugs2 Patches02
- # Wrapped by billr@tekred on Fri Jun 12 14:41:14 1987
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f Bugs2 -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"Bugs2\"
- else
- echo shar: Extracting \"Bugs2\" \(2652 characters\)
- sed "s/^X//" >Bugs2 <<'END_OF_Bugs2'
- XHere is a second list of fixes for bugs and non-portable items found in my
- Xrogue clone. Many thanks to those who reported the problems, I would
- Xappreciate any further reports, particularly if the stuff below does
- Xnot fix what it is intended to fix.
- X
- X Tim Stoehr
- X tims@zeus.TEK.COM
- X ----------------------------------------------------
- X
- X 1.) Change SCROLL and SCROLLS to SCROL and SCROLS respectively
- X throughout the code. This is to avoid conflicts with
- X some curses stuff. If your compiler doesn't complain, you
- X probably don't have to worry about this.
- X
- X 2.) Change ALL occurences of the symbol 'UP' to 'UPWARD'. This prevents
- X the definition in rogue.h from clashing with the curses definition.
- X
- X 3.) There may be a nested comment around line 41 in machdep.c.
- X Nuke it.
- X
- X 4.) In zap.c, a new version of tele_away() was sent out. That version
- X needs to have the global variable 'detect_monster' added to the
- X list of extern booleans at the top of zap.c, if it is not already
- X there.
- X
- X 5.) In message.c, at the bottom of the routine message(), there is code
- X that looks like:
- X
- X if (did_int) {
- X onintr();
- X }
- X cant_int = 0;
- X
- X It should look like the following:
- X
- X cant_int = 0;
- X if (did_int) {
- X did_int = 0;
- X onintr();
- X }
- X
- X 6.) In machdep.c, the routine md_slurp() shoud be changed to what is
- X shown below, otherwise, messages get screwed up on UNIX_BSD4_2.
- X Only the BSD4_2 portion needs to be changed.
- X
- Xmd_slurp()
- X{
- X long ln = 0;
- X
- X#ifdef UNIX_BSD4_2
- X ioctl(0, FIONREAD, &ln);
- X#endif
- X#ifdef UNIX_SYSV
- X ioctl(0, TCFLSH, &ln);
- X ln = 0;
- X#endif
- X
- X ln += stdin->_cnt;
- X
- X for (; ln > 0; ln--) {
- X (void) getchar();
- X }
- X}
- X
- X 7.) In monster.c, in the table m_names near the top of the file,
- X change "aquatar" to "aquator" and "quasit" to "quagga."
- X
- X 8.) References to curses internals should be removed for the sake
- X of portability/compatibility.
- X
- X In score.c, in the routine quit(), change these two lines:
- X
- X orow = curscr->_cury;
- X ocol = curscr->_curx;
- X
- X to:
- X
- X orow = rogue.row;
- X ocol = rogue.col;
- X
- X
- X And in message.c, in the routine save_screen(), remove these lines
- X which appear at the beginning of the routine:
- X
- X row = curscr->_cury;
- X col = curscr->_curx;
- X
- X and remove these lines which appear at the bottom of the routine:
- X
- X move(row, col);
- X refresh();
- X
- X You can also them remove the local variables, row and col.
- END_OF_Bugs2
- if test 2652 -ne `wc -c <Bugs2`; then
- echo shar: \"Bugs2\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- if test -f Patches02 -a "${1}" != "-c" ; then
- echo shar: Will not over-write existing file \"Patches02\"
- else
- echo shar: Extracting \"Patches02\" \(19425 characters\)
- sed "s/^X//" >Patches02 <<'END_OF_Patches02'
- X*** hit.c.orig Fri May 29 14:20:03 1987
- X--- hit.c Fri Jun 12 13:39:57 1987
- X***************
- X*** 13,19 ****
- X #include "rogue.h"
- X
- X object *fight_monster = 0;
- X- boolean detect_monster;
- X char hit_message[80] = "";
- X
- X extern short halluc, blind, cur_level;
- X--- 13,18 ----
- X*** inventory.c.orig Fri May 29 14:20:35 1987
- X--- inventory.c Fri Jun 12 13:12:14 1987
- X***************
- X*** 184,190 ****
- X short i, j, n;
- X short sylls, s;
- X
- X! for (i = 0; i < SCROLLS; i++) {
- X sylls = get_rand(2, 5);
- X (void) strcpy(id_scrolls[i].title, "'");
- X
- X--- 184,190 ----
- X short i, j, n;
- X short sylls, s;
- X
- X! for (i = 0; i < SCROLS; i++) {
- X sylls = get_rand(2, 5);
- X (void) strcpy(id_scrolls[i].title, "'");
- X
- X***************
- X*** 250,256 ****
- X case UNIDENTIFIED:
- X CHECK:
- X switch(obj->what_is) {
- X! case SCROLL:
- X (void) strcat(desc, item_name);
- X (void) strcat(desc, "entitled: ");
- X (void) strcat(desc, id_table[obj->which_kind].title);
- X--- 250,256 ----
- X case UNIDENTIFIED:
- X CHECK:
- X switch(obj->what_is) {
- X! case SCROL:
- X (void) strcat(desc, item_name);
- X (void) strcat(desc, "entitled: ");
- X (void) strcat(desc, id_table[obj->which_kind].title);
- X***************
- X*** 287,293 ****
- X break;
- X case CALLED:
- X CALL: switch(obj->what_is) {
- X! case SCROLL:
- X case POTION:
- X case WAND:
- X case RING:
- X--- 287,293 ----
- X break;
- X case CALLED:
- X CALL: switch(obj->what_is) {
- X! case SCROL:
- X case POTION:
- X case WAND:
- X case RING:
- X***************
- X*** 299,305 ****
- X break;
- X case IDENTIFIED:
- X ID: switch(obj->what_is) {
- X! case SCROLL:
- X case POTION:
- X (void) strcat(desc, item_name);
- X (void) strcat(desc, id_table[obj->which_kind].real);
- X--- 299,305 ----
- X break;
- X case IDENTIFIED:
- X ID: switch(obj->what_is) {
- X! case SCROL:
- X case POTION:
- X (void) strcat(desc, item_name);
- X (void) strcat(desc, id_table[obj->which_kind].real);
- X***************
- X*** 419,425 ****
- X object *obj;
- X {
- X switch(obj->what_is) {
- X! case SCROLL:
- X return(id_scrolls);
- X case POTION:
- X return(id_potions);
- X--- 419,425 ----
- X object *obj;
- X {
- X switch(obj->what_is) {
- X! case SCROL:
- X return(id_scrolls);
- X case POTION:
- X return(id_potions);
- X*** level.c.orig Fri May 29 14:20:48 1987
- X--- level.c Fri Jun 12 13:13:22 1987
- X***************
- X*** 275,287 ****
- X dir = RIGHT;
- X } else if (same_col(room1, room2) &&
- X (rooms[room1].top_row > rooms[room2].bottom_row)) {
- X! put_door(&rooms[room1], UP, &row1, &col1);
- X put_door(&rooms[room2], DOWN, &row2, &col2);
- X! dir = UP;
- X } else if (same_col(room1, room2) &&
- X (rooms[room2].top_row > rooms[room1].bottom_row)) {
- X put_door(&rooms[room1], DOWN, &row1, &col1);
- X! put_door(&rooms[room2], UP, &row2, &col2);
- X dir = DOWN;
- X } else {
- X return(0);
- X--- 275,287 ----
- X dir = RIGHT;
- X } else if (same_col(room1, room2) &&
- X (rooms[room1].top_row > rooms[room2].bottom_row)) {
- X! put_door(&rooms[room1], UPWARD, &row1, &col1);
- X put_door(&rooms[room2], DOWN, &row2, &col2);
- X! dir = UPWARD;
- X } else if (same_col(room1, room2) &&
- X (rooms[room2].top_row > rooms[room1].bottom_row)) {
- X put_door(&rooms[room1], DOWN, &row1, &col1);
- X! put_door(&rooms[room2], UPWARD, &row2, &col2);
- X dir = DOWN;
- X } else {
- X return(0);
- X***************
- X*** 337,345 ****
- X wall_width = (rm->is_room & R_MAZE) ? 0 : 1;
- X
- X switch(dir) {
- X! case UP:
- X case DOWN:
- X! *row = ((dir == UP) ? rm->top_row : rm->bottom_row);
- X do {
- X *col = get_rand(rm->left_col+wall_width,
- X rm->right_col-wall_width);
- X--- 337,345 ----
- X wall_width = (rm->is_room & R_MAZE) ? 0 : 1;
- X
- X switch(dir) {
- X! case UPWARD:
- X case DOWN:
- X! *row = ((dir == UPWARD) ? rm->top_row : rm->bottom_row);
- X do {
- X *col = get_rand(rm->left_col+wall_width,
- X rm->right_col-wall_width);
- X***************
- X*** 497,503 ****
- X RIGHT : LEFT;
- X } else {
- X tunnel_dir = (rooms[rn].top_row < rooms[target_room].top_row) ?
- X! DOWN : UP;
- X }
- X door_dir = ((tunnel_dir + 4) % DIRS);
- X if (rooms[target_room].doors[door_dir/2].oth_room != NO_ROOM) {
- X--- 497,503 ----
- X RIGHT : LEFT;
- X } else {
- X tunnel_dir = (rooms[rn].top_row < rooms[target_room].top_row) ?
- X! DOWN : UPWARD;
- X }
- X door_dir = ((tunnel_dir + 4) % DIRS);
- X if (rooms[target_room].doors[door_dir/2].oth_room != NO_ROOM) {
- X***************
- X*** 554,560 ****
- X RIGHT : LEFT;
- X } else {
- X tunnel_dir = (rooms[rn].top_row < rooms[de].top_row) ?
- X! DOWN : UP;
- X }
- X draw_simple_passage(srow, scol, drow, dcol, tunnel_dir);
- X r_de = de;
- X--- 554,560 ----
- X RIGHT : LEFT;
- X } else {
- X tunnel_dir = (rooms[rn].top_row < rooms[de].top_row) ?
- X! DOWN : UPWARD;
- X }
- X draw_simple_passage(srow, scol, drow, dcol, tunnel_dir);
- X r_de = de;
- X***************
- X*** 588,594 ****
- X char dirs[4];
- X short i, t;
- X
- X! dirs[0] = UP;
- X dirs[1] = DOWN;
- X dirs[2] = LEFT;
- X dirs[3] = RIGHT;
- X--- 588,594 ----
- X char dirs[4];
- X short i, t;
- X
- X! dirs[0] = UPWARD;
- X dirs[1] = DOWN;
- X dirs[2] = LEFT;
- X dirs[3] = RIGHT;
- X***************
- X*** 607,613 ****
- X }
- X for (i = 0; i < 4; i++) {
- X switch(dirs[i]) {
- X! case UP:
- X if (((r-1) >= tr) &&
- X (dungeon[r-1][c] != TUNNEL) &&
- X (dungeon[r-1][c-1] != TUNNEL) &&
- X--- 607,613 ----
- X }
- X for (i = 0; i < 4; i++) {
- X switch(dirs[i]) {
- X! case UPWARD:
- X if (((r-1) >= tr) &&
- X (dungeon[r-1][c] != TUNNEL) &&
- X (dungeon[r-1][c-1] != TUNNEL) &&
- X*** machdep.c.orig Fri Jun 12 13:30:16 1987
- X--- machdep.c Fri Jun 12 13:19:48 1987
- X***************
- X*** 39,45 ****
- X * #else
- X * code;
- X * #endif /* UNIX_SYSV */
- X! * }
- X *
- X * Appropriate variations of this are of course acceptible.
- X * The use of "#elseif" is discouraged because of non-portability.
- X--- 39,45 ----
- X * #else
- X * code;
- X * #endif /* UNIX_SYSV */
- X! /* }
- X *
- X * Appropriate variations of this are of course acceptible.
- X * The use of "#elseif" is discouraged because of non-portability.
- X***************
- X*** 82,97 ****
- X
- X md_slurp()
- X {
- X! long ln;
- X
- X #ifdef UNIX_BSD4_2
- X! ioctl(0, TIOCFLUSH, &ln);
- X #endif /* UNIX_BSD4_2 */
- X #ifdef UNIX_SYSV
- X ioctl(0, TCFLSH, &ln);
- X #endif /* UNIX_SYSV */
- X
- X! for (ln = stdin->_cnt; ln > 0; ln--) {
- X (void) getchar();
- X }
- X }
- X--- 82,100 ----
- X
- X md_slurp()
- X {
- X! long ln = 0;
- X
- X #ifdef UNIX_BSD4_2
- X! ioctl(0, FIONREAD, &ln);
- X #endif /* UNIX_BSD4_2 */
- X #ifdef UNIX_SYSV
- X ioctl(0, TCFLSH, &ln);
- X+ ln = 0;
- X #endif /* UNIX_SYSV */
- X
- X! ln += stdin->_cnt;
- X!
- X! for (; ln > 0; ln--) {
- X (void) getchar();
- X }
- X }
- X*** message.c.orig Fri May 29 14:21:38 1987
- X--- message.c Fri Jun 12 13:21:44 1987
- X***************
- X*** 48,57 ****
- X msg_cleared = 0;
- X msg_col = strlen(msg);
- X
- X if (did_int) {
- X onintr();
- X }
- X- cant_int = 0;
- X }
- X
- X remessage()
- X--- 48,58 ----
- X msg_cleared = 0;
- X msg_col = strlen(msg);
- X
- X+ cant_int = 0;
- X if (did_int) {
- X+ did_int = 0;
- X onintr();
- X }
- X }
- X
- X remessage()
- X***************
- X*** 256,268 ****
- X save_screen()
- X {
- X FILE *fp;
- X! short i, j, row, col;
- X char buf[DCOLS+2];
- X boolean found_non_blank;
- X
- X- row = curscr->_cury;
- X- col = curscr->_curx;
- X-
- X if ((fp = fopen("rogue.screen", "w")) != NULL) {
- X for (i = 0; i < DROWS; i++) {
- X found_non_blank = 0;
- X--- 257,266 ----
- X save_screen()
- X {
- X FILE *fp;
- X! short i, j;
- X char buf[DCOLS+2];
- X boolean found_non_blank;
- X
- X if ((fp = fopen("rogue.screen", "w")) != NULL) {
- X for (i = 0; i < DROWS; i++) {
- X found_non_blank = 0;
- X***************
- X*** 282,289 ****
- X } else {
- X sound_bell();
- X }
- X- move(row, col);
- X- refresh();
- X }
- X
- X sound_bell()
- X--- 280,285 ----
- X*** monster.c.orig Fri May 29 14:21:49 1987
- X--- monster.c Fri Jun 12 13:23:13 1987
- X***************
- X*** 16,22 ****
- X boolean mon_disappeared;
- X
- X char *m_names[] = {
- X! "aquatar",
- X "bat",
- X "centaur",
- X "dragon",
- X--- 16,22 ----
- X boolean mon_disappeared;
- X
- X char *m_names[] = {
- X! "aquator",
- X "bat",
- X "centaur",
- X "dragon",
- X***************
- X*** 32,38 ****
- X "nymph",
- X "orc",
- X "phantom",
- X! "quasit",
- X "rattlesnake",
- X "snake",
- X "troll",
- X--- 32,38 ----
- X "nymph",
- X "orc",
- X "phantom",
- X! "quagga",
- X "rattlesnake",
- X "snake",
- X "troll",
- X***************
- X*** 479,485 ****
- X }
- X if (dungeon[row][col] & OBJECT) {
- X obj = object_at(&level_objects, row, col);
- X! if ((obj->what_is == SCROLL) && (obj->which_kind == SCARE_MONSTER)) {
- X return(0);
- X }
- X }
- X--- 479,485 ----
- X }
- X if (dungeon[row][col] & OBJECT) {
- X obj = object_at(&level_objects, row, col);
- X! if ((obj->what_is == SCROL) && (obj->which_kind == SCARE_MONSTER)) {
- X return(0);
- X }
- X }
- X*** object.c.orig Fri May 29 14:22:10 1987
- X--- object.c Fri Jun 12 13:24:01 1987
- X***************
- X*** 50,56 ****
- X {145, "beige \0 ", "of see invisible ", 0}
- X };
- X
- X! struct id id_scrolls[SCROLLS] = {
- X {505, " ", "of protect armor ", 0},
- X {200, " ", "of hold monster ", 0},
- X {235, " ", "of enchant weapon ", 0},
- X--- 50,56 ----
- X {145, "beige \0 ", "of see invisible ", 0}
- X };
- X
- X! struct id id_scrolls[SCROLS] = {
- X {505, " ", "of protect armor ", 0},
- X {200, " ", "of hold monster ", 0},
- X {235, " ", "of enchant weapon ", 0},
- X***************
- X*** 244,250 ****
- X char *retstring;
- X
- X switch(obj->what_is) {
- X! case SCROLL:
- X retstring = obj->quantity > 1 ? "scrolls " : "scroll ";
- X break;
- X case POTION:
- X--- 244,250 ----
- X char *retstring;
- X
- X switch(obj->what_is) {
- X! case SCROL:
- X retstring = obj->quantity > 1 ? "scrolls " : "scroll ";
- X break;
- X case POTION:
- X***************
- X*** 308,314 ****
- X obj->what_is = gr_what_is();
- X }
- X switch(obj->what_is) {
- X! case SCROLL:
- X gr_scroll(obj);
- X break;
- X case POTION:
- X--- 308,314 ----
- X obj->what_is = gr_what_is();
- X }
- X switch(obj->what_is) {
- X! case SCROL:
- X gr_scroll(obj);
- X break;
- X case POTION:
- X***************
- X*** 342,348 ****
- X percent = get_rand(1, 91);
- X
- X if (percent <= 30) {
- X! what_is = SCROLL;
- X } else if (percent <= 60) {
- X what_is = POTION;
- X } else if (percent <= 64) {
- X--- 342,348 ----
- X percent = get_rand(1, 91);
- X
- X if (percent <= 30) {
- X! what_is = SCROL;
- X } else if (percent <= 60) {
- X what_is = POTION;
- X } else if (percent <= 64) {
- X***************
- X*** 366,372 ****
- X
- X percent = get_rand(0, 85);
- X
- X! obj->what_is = SCROLL;
- X
- X if (percent <= 5) {
- X obj->which_kind = PROTECT_ARMOR;
- X--- 366,372 ----
- X
- X percent = get_rand(0, 85);
- X
- X! obj->what_is = SCROL;
- X
- X if (percent <= 5) {
- X obj->which_kind = PROTECT_ARMOR;
- X***************
- X*** 694,701 ****
- X max = POTIONS - 1;
- X break;
- X case '?':
- X! obj->what_is = SCROLL;
- X! max = SCROLLS - 1;
- X break;
- X case ',':
- X obj->what_is = AMULET;
- X--- 694,701 ----
- X max = POTIONS - 1;
- X break;
- X case '?':
- X! obj->what_is = SCROL;
- X! max = SCROLS - 1;
- X break;
- X case ',':
- X obj->what_is = AMULET;
- X*** pack.c.orig Fri May 29 14:22:20 1987
- X--- pack.c Fri Jun 12 13:24:32 1987
- X***************
- X*** 60,66 ****
- X obj = object_at(&level_objects, row, col);
- X *status = 1;
- X
- X! if ((obj->what_is == SCROLL) && (obj->which_kind == SCARE_MONSTER) &&
- X obj->picked_up) {
- X message("the scroll turns to dust as you pick it up", 0);
- X dungeon[row][col] &= (~OBJECT);
- X--- 60,66 ----
- X obj = object_at(&level_objects, row, col);
- X *status = 1;
- X
- X! if ((obj->what_is == SCROL) && (obj->which_kind == SCARE_MONSTER) &&
- X obj->picked_up) {
- X message("the scroll turns to dust as you pick it up", 0);
- X dungeon[row][col] &= (~OBJECT);
- X***************
- X*** 157,163 ****
- X {
- X object *op;
- X
- X! if (!(obj->what_is & (WEAPON | FOOD | SCROLL | POTION))) {
- X return(0);
- X }
- X if ((obj->what_is == FOOD) && (obj->which_kind == FRUIT)) {
- X--- 157,163 ----
- X {
- X object *op;
- X
- X! if (!(obj->what_is & (WEAPON | FOOD | SCROL | POTION))) {
- X return(0);
- X }
- X if ((obj->what_is == FOOD) && (obj->which_kind == FRUIT)) {
- X***************
- X*** 380,386 ****
- X struct id *id_table;
- X char buf[MAX_TITLE_LENGTH+2];
- X
- X! ch = pack_letter("call what?", (SCROLL | POTION | WAND | RING));
- X
- X if (ch == CANCEL) {
- X return;
- X--- 380,386 ----
- X struct id *id_table;
- X char buf[MAX_TITLE_LENGTH+2];
- X
- X! ch = pack_letter("call what?", (SCROL | POTION | WAND | RING));
- X
- X if (ch == CANCEL) {
- X return;
- X***************
- X*** 389,395 ****
- X message("no such item.", 0);
- X return;
- X }
- X! if (!(obj->what_is & (SCROLL | POTION | WAND | RING))) {
- X message("surely you already know what that's called", 0);
- X return;
- X }
- X--- 389,395 ----
- X message("no such item.", 0);
- X return;
- X }
- X! if (!(obj->what_is & (SCROL | POTION | WAND | RING))) {
- X message("surely you already know what that's called", 0);
- X return;
- X }
- X***************
- X*** 450,456 ****
- X (*c == ')') || (*c == ']') || (*c == '/') || (*c == ','))) {
- X switch(*c) {
- X case '?':
- X! *mask = SCROLL;
- X break;
- X case '!':
- X *mask = POTION;
- X--- 450,456 ----
- X (*c == ')') || (*c == ']') || (*c == '/') || (*c == ','))) {
- X switch(*c) {
- X case '?':
- X! *mask = SCROL;
- X break;
- X case '!':
- X *mask = POTION;
- X*** patchlevel.h.orig Thu May 28 15:06:56 1987
- X--- patchlevel.h Fri Jun 12 13:24:41 1987
- X***************
- X*** 1 ****
- X! #define PATCHLEVEL 1
- X--- 1 ----
- X! #define PATCHLEVEL 2
- X*** rogue.h.orig Fri May 29 14:18:42 1987
- X--- rogue.h Fri Jun 12 13:25:27 1987
- X***************
- X*** 26,32 ****
- X
- X #define ARMOR ((unsigned short) 01)
- X #define WEAPON ((unsigned short) 02)
- X! #define SCROLL ((unsigned short) 04)
- X #define POTION ((unsigned short) 010)
- X #define GOLD ((unsigned short) 020)
- X #define FOOD ((unsigned short) 040)
- X--- 26,32 ----
- X
- X #define ARMOR ((unsigned short) 01)
- X #define WEAPON ((unsigned short) 02)
- X! #define SCROL ((unsigned short) 04)
- X #define POTION ((unsigned short) 010)
- X #define GOLD ((unsigned short) 020)
- X #define FOOD ((unsigned short) 040)
- X***************
- X*** 68,74 ****
- X #define CREATE_MONSTER 9
- X #define AGGRAVATE_MONSTER 10
- X #define MAGIC_MAPPING 11
- X! #define SCROLLS 12
- X
- X #define INCREASE_STRENGTH 0
- X #define RESTORE_STRENGTH 1
- X--- 68,74 ----
- X #define CREATE_MONSTER 9
- X #define AGGRAVATE_MONSTER 10
- X #define MAGIC_MAPPING 11
- X! #define SCROLS 12
- X
- X #define INCREASE_STRENGTH 0
- X #define RESTORE_STRENGTH 1
- X***************
- X*** 345,351 ****
- X #define QUIT 4
- X #define WIN 5
- X
- X! #define UP 0
- X #define UPRIGHT 1
- X #define RIGHT 2
- X #define RIGHTDOWN 3
- X--- 345,351 ----
- X #define QUIT 4
- X #define WIN 5
- X
- X! #define UPWARD 0
- X #define UPRIGHT 1
- X #define RIGHT 2
- X #define RIGHTDOWN 3
- X*** room.c.orig Fri May 29 14:22:54 1987
- X--- room.c Fri Jun 12 13:25:59 1987
- X***************
- X*** 140,146 ****
- X register unsigned short mask;
- X {
- X switch(mask) {
- X! case SCROLL:
- X return('?');
- X case POTION:
- X return('!');
- X--- 140,146 ----
- X register unsigned short mask;
- X {
- X switch(mask) {
- X! case SCROL:
- X return('?');
- X case POTION:
- X return('!');
- X***************
- X*** 404,410 ****
- X short d = -1;
- X
- X if (*row == rooms[rn].top_row) {
- X! d = UP/2;
- X } else if (*row == rooms[rn].bottom_row) {
- X d = DOWN/2;
- X } else if (*col == rooms[rn].left_col) {
- X--- 404,410 ----
- X short d = -1;
- X
- X if (*row == rooms[rn].top_row) {
- X! d = UPWARD/2;
- X } else if (*row == rooms[rn].bottom_row) {
- X d = DOWN/2;
- X } else if (*col == rooms[rn].left_col) {
- X*** save.c.orig Fri May 29 14:24:31 1987
- X--- save.c Fri Jun 12 13:26:27 1987
- X***************
- X*** 92,98 ****
- X r_write(fp, (char *) &rogue, sizeof(fighter));
- X write_pack(&rogue.pack, fp);
- X rw_id(id_potions, fp, POTIONS, 1);
- X! rw_id(id_scrolls, fp, SCROLLS, 1);
- X rw_id(id_wands, fp, WANDS, 1);
- X rw_id(id_rings, fp, RINGS, 1);
- X r_write(fp, (char *) traps, (MAX_TRAPS * sizeof(trap)));
- X--- 92,98 ----
- X r_write(fp, (char *) &rogue, sizeof(fighter));
- X write_pack(&rogue.pack, fp);
- X rw_id(id_potions, fp, POTIONS, 1);
- X! rw_id(id_scrolls, fp, SCROLS, 1);
- X rw_id(id_wands, fp, WANDS, 1);
- X rw_id(id_rings, fp, RINGS, 1);
- X r_write(fp, (char *) traps, (MAX_TRAPS * sizeof(trap)));
- X***************
- X*** 164,170 ****
- X r_read(fp, (char *) &rogue, sizeof(fighter));
- X read_pack(&rogue.pack, fp, 1);
- X rw_id(id_potions, fp, POTIONS, 0);
- X! rw_id(id_scrolls, fp, SCROLLS, 0);
- X rw_id(id_wands, fp, WANDS, 0);
- X rw_id(id_rings, fp, RINGS, 0);
- X r_read(fp, (char *) traps, (MAX_TRAPS * sizeof(trap)));
- X--- 164,170 ----
- X r_read(fp, (char *) &rogue, sizeof(fighter));
- X read_pack(&rogue.pack, fp, 1);
- X rw_id(id_potions, fp, POTIONS, 0);
- X! rw_id(id_scrolls, fp, SCROLS, 0);
- X rw_id(id_wands, fp, WANDS, 0);
- X rw_id(id_rings, fp, RINGS, 0);
- X r_read(fp, (char *) traps, (MAX_TRAPS * sizeof(trap)));
- X*** score.c.orig Fri May 29 14:25:01 1987
- X--- score.c Fri Jun 12 13:27:40 1987
- X***************
- X*** 120,127 ****
- X
- X if (from_intrpt) {
- X
- X! orow = curscr->_cury;
- X! ocol = curscr->_curx;
- X mc = msg_cleared;
- X
- X for (i = 0; i < DCOLS; i++) {
- X--- 120,127 ----
- X
- X if (from_intrpt) {
- X
- X! orow = rogue.row;
- X! ocol = rogue.col;
- X mc = msg_cleared;
- X
- X for (i = 0; i < DCOLS; i++) {
- X***************
- X*** 403,409 ****
- X case WAND:
- X val = id_wands[wc].value * (obj->class + 1);
- X break;
- X! case SCROLL:
- X val = id_scrolls[wc].value * obj->quantity;
- X break;
- X case POTION:
- X--- 403,409 ----
- X case WAND:
- X val = id_wands[wc].value * (obj->class + 1);
- X break;
- X! case SCROL:
- X val = id_scrolls[wc].value * obj->quantity;
- X break;
- X case POTION:
- X***************
- X*** 426,432 ****
- X {
- X short i;
- X
- X! for (i = 0; i < SCROLLS; i++) {
- X id_scrolls[i].id_status = IDENTIFIED;
- X }
- X for (i = 0; i < WEAPONS; i++) {
- X--- 426,432 ----
- X {
- X short i;
- X
- X! for (i = 0; i < SCROLS; i++) {
- X id_scrolls[i].id_status = IDENTIFIED;
- X }
- X for (i = 0; i < WEAPONS; i++) {
- X*** use.c.orig Fri May 29 14:25:52 1987
- X--- use.c Fri Jun 12 13:28:05 1987
- X***************
- X*** 148,154 ****
- X object *obj;
- X char msg[DCOLS];
- X
- X! ch = pack_letter("read what?", SCROLL);
- X
- X if (ch == CANCEL) {
- X return;
- X--- 148,154 ----
- X object *obj;
- X char msg[DCOLS];
- X
- X! ch = pack_letter("read what?", SCROL);
- X
- X if (ch == CANCEL) {
- X return;
- X***************
- X*** 157,163 ****
- X message("no such item.", 0);
- X return;
- X }
- X! if (obj->what_is != SCROLL) {
- X message("you can't read that", 0);
- X return;
- X }
- X--- 157,163 ----
- X message("no such item.", 0);
- X return;
- X }
- X! if (obj->what_is != SCROL) {
- X message("you can't read that", 0);
- X return;
- X }
- X***************
- X*** 336,342 ****
- X goto AGAIN;
- X }
- X obj->identified = 1;
- X! if (obj->what_is & (SCROLL | POTION | WEAPON | ARMOR | WAND | RING)) {
- X id_table = get_id_table(obj);
- X id_table[obj->which_kind].id_status = IDENTIFIED;
- X }
- X--- 336,342 ----
- X goto AGAIN;
- X }
- X obj->identified = 1;
- X! if (obj->what_is & (SCROL | POTION | WEAPON | ARMOR | WAND | RING)) {
- X id_table = get_id_table(obj);
- X id_table[obj->which_kind].id_status = IDENTIFIED;
- X }
- X*** zap.c.orig Fri May 29 14:26:04 1987
- X--- zap.c Fri Jun 12 13:29:07 1987
- X***************
- X*** 14,20 ****
- X
- X boolean wizard = 0;
- X
- X! extern boolean being_held, score_only;
- X
- X zapp()
- X {
- X--- 14,20 ----
- X
- X boolean wizard = 0;
- X
- X! extern boolean being_held, score_only, detect_monster;
- X
- X zapp()
- X {
- END_OF_Patches02
- if test 19425 -ne `wc -c <Patches02`; then
- echo shar: \"Patches02\" unpacked with wrong size!
- fi
- # end of overwriting check
- fi
- echo shar: End of shell archive.
- exit 0
-